package jihyun51.service;

import jihyun.model.SungJuk;
import jihyun.model.Sungjuk_VO;

public class ArraySungJuk extends SungJuk {
	// 100개의 성적 데이터를 저장하기 위해 배열 선언
	private Sungjuk_VO[] sjdate = new Sungjuk_VO[100];
	
	//Sungjuk_VO 객체를 저장하는 배열에는 기본값으로 null이 자동적으로 저장된다.
	// 성적 데이터를 배열에 추가할 때 저장할 위치를 기억하는 변수
	private int pos = -1;

	@Override
	public boolean newSungJuk(Sungjuk_VO sj) {
		// 새로운 성적데이터를 배열에 저장
		sjdate[++pos] = sj;
		return true;
	}

	@Override
	public String readSungJuk() {
		// 배열에 저장된 모든 성적 데이터를 출력
		// 배열에 저장된 데이터를 하나씩 가져와서 출력
		String result = "";
		//sjdate 배열에 저장된 100개의 성적데이터를 하나씩 읽어와서 
		//toString메서드를 통해 성적데이터를 출력
		
		/* ↓ 밑에 코드는 sjdate 배열의 모든 값을 읽어오기 때문에 비효율적
		for (Sungjuk_VO sj : sjdate)
		  if (sj != null) //성적 데이터가 null이 아니면
			  result += sj.toString() + "\n";*/
		
		//sjdate배열 중 값이 제대로 저장된 데이터만 읽어서 toString메서드로 출력 (추천!)
		for(int i=0; i<= pos; ++i){
			Sungjuk_VO sj=sjdate[i];
			result += sj.toString() + "\n";
		}
				
		// sjdate[0]에 위치한 데이터를 sj로 하나씩 뽑아온다.
		return result;
	}
}
